package main

import (
	"fmt"
	"math/rand"
	"time"
)

func main() {
	work1()
	work2()
	work3()
}

// 1、打印九九乘法表。如果可以要求间隔均匀
func work1() {
	for i := 1; i <= 9; i++ {
		for v := 1; v <= i; v++ {
			if v == 1 {
				fmt.Printf("%d*%d=%-2d", v, i, v*i)
			} else {
				fmt.Printf("%d*%d=%-3d", v, i, v*i)
			}
		}
		fmt.Println()
	}
}

// 2、随机生成20以内的20个非0正整数，打印出来。对生成的数值，第单数个（不是索引）累加求和，第
// 偶数个累乘求积。打印结果
func work2() {
	var sum int
	var res int = 1
	r := rand.New(rand.NewSource(time.Now().UnixNano()))
	for i := 1; i <= 20; i++ {
		intn := r.Intn(19) + 1
		if i%2 == 1 {
			sum += intn
		} else {
			res *= intn
		}
	}
	fmt.Println("和:", sum)
	fmt.Println("积:", res)
}

// 3、打印100以内的斐波那契数列
func work3() {
	x := 0
	y := 1
	for {
		x, y = y, x+y
		if x < 100 {
			fmt.Printf("%d ", x)
		} else {
			break
		}
	}
}

// 阿飞老师的批改
// 1. 代码逻辑清晰明了
